#########################################################################
# 作者:李宁（蒙娜丽宁）
# 关注微信公众号：极客起源   输入160442学习Python免费教程《Python编程思想》
# 李宁老师微信：unitymarvel
# 也可以通过下面的知乎专栏学习《Python编程思想》中的内容：
# 地址：https://zhuanlan.zhihu.com/thinkinginpython
# 更多免费视频，请访问我的B站：https://space.bilibili.com/477001733
# 版本: 1.0
# Copyright (C), 2001-2020, 李宁
#
# 程序被版权法保护
#
#########################################################################


# 题目1：编写一个函数，用于随机排列列表中的元素

a = [1,2,3,4,5,6,7, 8, 9,0 ]

import random
# 方案1
def random_list1(a):
    for i in range(0,100):
        index1 = random.randint(0, len(a) - 1)
        index2 = random.randint(0, len(a) - 1)
        a[index1],a[index2] = a[index2],a[index1]
    return a

b = random_list1(a)
print(b)

"""
不改变原列表
"""
def random_list2(a):
    a_copy = a.copy()
    result = []
    count = len(a)
    for i in range(0,count):
        index = random.randint(0, len(a_copy) - 1)
        result.append(a_copy[index])
        del a_copy[index]
    return result
print("*"*100)
a = [1,2,3,4,5,6,7, 8, 9,0 ]
b = random_list2(a)
print(b)

# 第二题：
a = [1,2,3,4,5,6,7, 8, 9,0 ]
random.shuffle(a)
print(a)


